package com.sinog.front.feign.biz;

import com.sinog.core.domain.PrisonerFx;
import com.sinog.core.model.UserDTO;
import com.sinog.core.utilbean.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Map;

/**
 * @desc 信息补录feign
 * @author -
 * @date -
 */
@FeignClient("sinog2c-biz")
public interface XxblService {

    /**
     * 衔接 - 信息补录 - 减刑假释信息录入保存
     * @param map map
     * @param user user
     * @return Result
     */
    @RequestMapping("/azbj/yazgl/xxbl/jxjs/save")
    Result saveJxjsInfo(@RequestParam Map<String,Object> map,@RequestBody UserDTO user);

    /**
     * 衔接 - 信息补录 - 减刑假释信息列表
     * @param pageIndex pageIndex
     * @param pageSize pageSize
     * @param priNum priNum
     * @return String
     */
    @RequestMapping("/azbj/yazgl/xxbl/jxjs/list")
    String jxjsInfoList(
            @RequestParam("pageIndex") Integer pageIndex,
            @RequestParam("pageSize") Integer pageSize,@RequestParam String priNum);

    /**
     * 衔接 - 信息录入 - 减刑假释信息删除
     * @param priNum priNum
     * @param account 当前帐号
     * @return Result
     */
    @RequestMapping("/azbj/yazgl/xxbl/jxjs/delete/")
    Result jxjsInfoDelete(@RequestParam String priNum,@RequestParam String account);

    /**
     * 获取服刑信息
     * @param priNum priNum
     * @return PrisonerFx
     */
    @RequestMapping("/azbj/yazgl/xxbl/jxjs/pristopold/")
    PrisonerFx selectJxjsPriStopInfo(@RequestParam String priNum);

    /**
     * 衔接 - 信息补录 - 保存职业技能
     * @param data data
     * @param user user
     * @return Result
     */
    @RequestMapping("/azbj/yazgl/xxbl/zyjn/save")
    Result saveZyjnInfo(@RequestParam String data,@RequestBody UserDTO user);

    /**
     * 衔接 - 信息补录 - 职业技能信息列表
     * @param pageIndex pageIndex
     * @param pageSize pageSize
     * @param priNum priNum
     * @return String
     */
    @RequestMapping("/azbj/yazgl/xxbl/zyjn/list")
    String zyjnInfoList(
            @RequestParam("pageIndex") Integer pageIndex,
            @RequestParam("pageSize") Integer pageSize,@RequestParam String priNum);

    /**
     * 根据id查询职业技能
     * @param id id
     * @return String
     */
    @RequestMapping("/azbj/yazgl/xxbl/zyjn/byid")
    String selectZyjnById(@RequestParam String id);

    /**
     * 衔接 - 信息录入 - 职业技能信息删除
     * @param id id
     * @return int
     */
    @RequestMapping("/azbj/yazgl/xxbl/zyjn/remove")
    int zyjnInfoDelete(@RequestParam String id);

    /**
     * 查询单条出监评估数据
     * @param priNum priNum
     * @return String
     */
    @RequestMapping("/azbj/yazgl/xxbl/cjpg/info/one")
    String selectCjpgInfoByPrNum(@RequestParam String priNum);

    /**
     * 保存危险评估信息
     * @param data data
     * @param username 用户名
     * @return Result
     */
    @RequestMapping("/azbj/wxxpg/save")
    Result saveWxxpgInfo(@RequestParam String data,String username);

    /**
     * 从prisoner_fx表获取罪犯刑期止日与刑期类型
     * @param priNum priNum
     * @return Result
     */
    @RequestMapping("/azbj/xxbl/getPrisonerFxInfo")
    Result getPrisonerFxInfo(@RequestParam String priNum);
}